/*******************************************************************************
 * Copyright (c) baifeiq.
 * 
 * @date            @author         @brief
 * 2022-02-05       baifeiq         First version
 */

#ifndef	OS_EVENT_H__
#define OS_EVENT_H__

#include "os_define.h"

extern void ost_event_init(os_event_t *event, os_event_type_t type);
extern void ost_event_wait(os_event_t   *event, 
                           os_task_t    *task, 
                           void         *msg, 
                           os_uint32_t  state,
                           os_uint32_t  timeout);
extern os_task_t *ost_event_wake(os_event_t *event, void *msg, os_uint32_t result);
extern void ost_event_remove(os_task_t *task, void *msg, os_uint32_t result);

#endif  //OS_EVENT_H__
